package net.wofly.cashier.dishes.service;

/**
 * Created by LiuJianbo on 2017/10/17.
 */

import net.wofly.cashier.dishes.domain.DailyCommodityNum;
import net.wofly.framework.util.ReturnBean;
import net.wofly.sale.commodity.domain.Commodity;

import java.util.List;

/**
 * 菜品服务类
 *
 * @author lign
 * @version 1.0
 * @created 17-10月-2017 21:57:58
 */
public interface IDishesService {
    
    /**
     * 获取所有菜品，不分页。
     * <ul>
     * <li>status=1 所有有效菜品</li>
     * <li>status=0 所有无效菜品</li>
     * <li>status=-1 所有菜品</li>
     * <li>commodityTypeID=-1时，取所有类型的菜品</li>
     * </ul>
     *
     * @param status
     * @param commodityTypeID
     */
    public ReturnBean<List<Commodity>> getAllDishes(Integer status, String commodityTypeID);
    
    /**
     * 获取所有菜品，同时返回菜品可卖数量
     * <ul>
     * <li>commodityTypeID=-1时，取所有类型的菜品</li>
     * <li>只取有效状态的菜品</li>
     * <li></li>
     * </ul>
     *
     * @param commodityTypeID
     */
    public ReturnBean<List<Commodity>> getAllDishesByNum(String commodityTypeID);
    
    /**
     * 获取菜品指定日的销售数量
     *
     * @param commodityID
     * @param currDate
     */
    public ReturnBean<DailyCommodityNum> getValidDishesNum(String commodityID, Long currDate);
    
    /**
     * 设置菜品日最大销售量
     *
     * @param dailyCommodityNum
     */
    public ReturnBean<DailyCommodityNum> setDailyDishesNum(DailyCommodityNum dailyCommodityNum);
    
}
